import { useDispatch } from "react-redux";

// 封装一个快速调用 toast 组件的自定义hook
// 自定义hook，作用： 把需要用到hook的逻辑复用
export default function useToast() {
  // 先得到dispatch，用来调用 提示展示的方式
  const dispatch = useDispatch();
  return (msg: string, type: ToastType = "success") =>
    dispatch({
      type: "SHOW_TOAST",
      payload: {
        type,
        msg,
      },
    });
}

// 考虑易用性的基础上，多封装几个好用的
export function useToastError() {
  const toast = useToast();
  return (msg: string) => toast(msg, "error");
}
